import store from "../store";
import Cache from '../utils/cache';
// #ifdef H5 || APP-PLUS
import { isWeixin } from "../utils";
import auth from './wechat';
// #endif

import { LOGIN_STATUS, USER_INFO, EXPIRES_TIME, STATE_R_KEY} from './../config/cache';

function prePage(){
	// getCurrentPages() 获取当前页面实例
	let pages = getCurrentPages();
	let prePage = pages[pages.length - 1];
	// 返回当前页面的路由 
	return prePage.route;
}

export function toLogin(push, pathLogin) {  
	// 先初始化token
	store.commit("LOGOUT"); 
	let path = prePage();
	
	// #ifdef H5
	path = location.pathname;  
	// #endif  
	// 如果没有登录 去登录页 
	if(!pathLogin){ 
		pathLogin = '/page/users/login/index'
	} 
	// 检测是否有数据 
	if(!Cache.has('login_back_url')){
		Cache.set('login_back_url',path);
	}
	 
	// #ifdef H5 
	// 如果是手机 并且是微信内置浏览器 
	if (isWeixin()) { 
		// auth.oAuth('snsapi_base');
		// let authIng =  uni.getStorageSync('authIng'); 
		if(!uni.getStorageSync('authIng')){ 
			uni.navigateTo({
				url:'/pages/users/wechat_login/index'
			})
		}  
	} else {
		uni.navigateTo({
			url:'/pages/users/login/index'
		})
		// if (path !== pathLogin) {
		//  push ? uni.navigateTo({
		//  	url:'/pages/users/login/index'
		//  }) : uni.reLaunch({
		//  	url: '/pages/users/login/index'
		//  });
		// }
	}
	// #endif
	
	// #ifdef MP
	let val = uni.getStorageSync('routineType')
	
	if(!val){
		uni.navigateTo({
			url:'/pages/users/wechat_login/index',
		})
		uni.setStorageSync('routineType',1)
	}
	// #endif
}


export function checkLogin()
{
	let token = Cache.get(LOGIN_STATUS);
	let expiresTime = Cache.get(EXPIRES_TIME);
	let newTime = Math.round(new Date() / 1000);
	if (expiresTime < newTime || !token){
		Cache.clear(LOGIN_STATUS);
		Cache.clear(EXPIRES_TIME);
		Cache.clear(USER_INFO);
		Cache.clear(STATE_R_KEY);
		return false;
	}else{
		store.commit('UPDATE_LOGIN',token);
		let userInfo = Cache.get(USER_INFO,true);
		if(userInfo){
			store.commit('UPDATE_USERINFO',userInfo);
		}
		return true;
	}

}
